package com.woniuxy.springmvcannotation;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 * @author linke
 * @version 1.0
 * @className: PostController
 * @description: 作用域对象作为参数的控制器
 * @date 2021/11/13 17:07
 * @Controller 将控制器交给spring容器管理 表示要跳页面
 * @RequestMapping 定义页面请求路径，与执行该路径请求的 方法之间的映射关系
 */
@RequestMapping("/post")
@Controller
public class PostController {
    /**
     * 方法的参数类型
     *  HttpServletRequest,HttpServletResponse,HttpSession这3个东西，
     *  都可以作为这里的方法参数，
     * 特点：参数的个数和顺序没有验证就是：
     *  1个都可以不写，也可以把3个都写上
     *  params = {"!userName"} 方法参数过滤 表示表单传递的参数不能包含userName
     * @param request   请求对象
     * @param response  响应对象
     * @param session   会话对象
     * @return
     */
    @PostMapping(value="/login",params = {"!userName"})
    public ModelAndView login(HttpServletRequest request, HttpServletResponse response, HttpSession session){
        String loginName = request.getParameter("loginName");
        String password = request.getParameter("password");

        System.out.println(loginName);
        System.out.println(password);


        ModelAndView mv = new ModelAndView();
        mv.setViewName("sysmag/main");
        return mv;
    }

}
